package main

import "fmt"

type Car interface {
	Drive()
}

type TrafficTool interface {
	Drive()
}

type Truck struct {
	Model string
}

// 1. 如果Truck 实现了Drive()方法  var c Car = &Truck{} 和var c Car = Truck{} 都是可以的  原因是汇编 go会默认加上一个指针实现的方法和一个没有指针是实现的方法
// 2.如果Truck 实现了Drive()指针方法  var c Car = &Truck{}  可以  var c Car = Truck{} 不可以 原因是汇编 go只会加上一个指针实现的方法 没有一个没有指针是实现的方法

func (t Truck) Drive() {
	fmt.Println(t.Model)
}

//runtime2.einfe结构体
func k(interface{}) {

}
func main() {
	var c Car = &Truck{}
	fmt.Println(c)
}
